package com.springinaction.springidol;

/**
 * PoeticJuggler	诗人兼杂耍人
 * 
 * 不仅能扔beanbag， 还同时能朗诵诗歌。
 * 所以， 它首先继承 Juggle类。
 * 在这里没有声明默认的构造方法， 仅能通过构造方法注入来使用它。
 * 
 * @author tidecc
 */
public class PoeticJuggler extends Juggler {
	
	private Poem poem;
	
	/*
	 * 通过构造方法注入， 赋给一个 Poem 实力给
	 */
	public PoeticJuggler(Poem poem){
		super();
		this.poem = poem;
	}
	
	/*
	 * 通过构造方法注入， 赋值beanbag数和Poem实力
	 */
	public PoeticJuggler(int beanbags, Poem poem){
		super(beanbags);
		this.poem = poem;
	}
	
	/*
	 * 复写 perform（）接口的实现， 可以边朗诵诗歌，边扔beanbag。
	 * 
	 * (non-Javadoc)
	 * @see com.springinaction.springidol.Juggler#perform()
	 */
	@Override
	public void perform()throws PerformanceException{
		try {
			super.perform();
		} catch (PerformanceException e) {
			e.printStackTrace();
		}
		System.out.println("While reciting...");
		poem.recite();
	}
	
	
	
	

}
